package domini;

import library.utilitats.JodaDT;
import org.joda.time.DateTime;


/**
 *  <p style="margin-top: 0">
 *        Modela les ocupacions d'de les places.<br>Una ocupaci&#243; sempre t&#233; un 
 *        instant d'inici no null.
 *  <br>Una ocupaci&#243; pot estar en dos estats:
 *  <br><font color="#e62222">Estat obert:</font> Una ocupaci&#243; est&#224; oberta quant 
 *        t&#233; un instant final d'ocupacio igual  a null i indica que la pla&#231;a esta 
 *        siguent ocupada per un vehicle.<br>
 *      </p>
 *      <p style="margin-top: 0">
 *        <br>
 *        <font color="#ef0808">Estat tancat:</font> Una ocupaci&#243; est&#224; tancada 
 *        quant t&#233; un instant final d'ocupacio no null 
 *      </p>
 *      <p style="margin-top: 0">
 *        i indica que la pla&#231;a va estar ocupada per un vehicle.
 *      </p>
 *      <p style="margin-top: 0">
 *        
 *      </p>
 */
// <editor-fold defaultstate="collapsed" desc=" UML Marker "> 
// #[regen=yes,id=DCE.F701B5D5-1FB8-AEF1-C081-F0E9E677C787]
// </editor-fold> 
public class Ocupacio {

    /**
     *  <p style="margin-top: 0">
     *        Instant final de l'ocupaci&#243; en format dd/mm/aaaa-hh:mm
     *      </p>
     */
    // <editor-fold defaultstate="collapsed" desc=" UML Marker "> 
    // #[regen=yes,id=DCE.BE48D514-1A40-C3D2-858E-49CA435EB9AC]
    // </editor-fold> 
    private String dtInici;

    /**
     *  <p style="margin-top: 0">
     *        Instant inicial de l'ocupaci&#243; en format dd/mm/aaaa-hh:mm
     *      </p>
     */
    // <editor-fold defaultstate="collapsed" desc=" UML Marker "> 
    // #[regen=yes,id=DCE.C1D44C19-6D9D-6EF8-E898-BF90605E39F4]
    // </editor-fold> 
    private String dtFi;

    // <editor-fold defaultstate="collapsed" desc=" UML Marker "> 
    // #[regen=yes,id=DCE.0FC2F4A8-DA27-D66B-0BED-19300CFC696C]
    // </editor-fold> 
    public Ocupacio (String dtInici) {
        this.dtInici = dtInici;
    }

    // <editor-fold defaultstate="collapsed" desc=" UML Marker "> 
    // #[regen=yes,id=DCE.02317CE3-50CD-962A-D071-05E1827AA9F6]
    // </editor-fold> 
    public Ocupacio (String dtInici, String dtFi) {
        this.dtInici = dtInici;
        this.dtFi = dtFi;
    }

    /**
     *  <p style="margin-top: 0">
     *        Calcula la durad en minuts d'una ocupaci&#243;.
     *      </p>
     */
    // <editor-fold defaultstate="collapsed" desc=" UML Marker "> 
    // #[regen=yes,id=DCE.45FC9DB8-2A12-9981-AC06-EC3DC3F60342]
    // </editor-fold> 
    public long durada () {
        DateTime di = JodaDT.parseDDMMAAAAhhmm(dtInici);
        DateTime df = JodaDT.parseDDMMAAAAhhmm(dtFi);
        long durada = JodaDT.durationInSeconds(di, df) / 60;
        return durada;
    }

    // <editor-fold defaultstate="collapsed" desc=" UML Marker "> 
    // #[regen=yes,id=DCE.1A4B9020-BE84-A466-A90B-8BA4CE65FFDF]
    // </editor-fold> 
    public String getDtFi () {
        return dtFi;
    }

    // <editor-fold defaultstate="collapsed" desc=" UML Marker "> 
    // #[regen=yes,id=DCE.8B7EBEEF-72CB-8314-8BDB-5011CDA9AB3B]
    // </editor-fold> 
    public void setDtFi (String dtFi) {
        this.dtFi = dtFi;
    }

    // <editor-fold defaultstate="collapsed" desc=" UML Marker "> 
    // #[regen=yes,id=DCE.9271FE1D-8837-F565-BECC-99546B339722]
    // </editor-fold> 
    public String getDtInici () {
        return dtInici;
    }

    // <editor-fold defaultstate="collapsed" desc=" UML Marker "> 
    // #[regen=yes,id=DCE.B29817AC-3838-1B0D-4B51-59EFF32790C0]
    // </editor-fold> 
    public void setDtInici (String dtInici) {
        this.dtInici = dtInici;
    }

    @Override

    // <editor-fold defaultstate="collapsed" desc=" UML Marker "> 
    // #[regen=yes,id=DCE.5CEF7DDF-FD7A-A8E2-C0FE-856FC33C9DD0]
    // </editor-fold> 
    public String toString () {
        String str = "Ocupacio de : " + dtInici + " fins : " + dtFi;
        return str;
    }
}
